package cn.com.edu.nju.ecrec.dao;

import java.util.List;

import cn.com.edu.nju.ecrec.model.UserInfo;

public interface UserInfoDao extends AbstractDao<UserInfo> {
	public void deleteById(long id);
	public int getCount();
	public List<UserInfo> getAll();
	
	public List<Long> getIds();
	public List<UserInfo> getByUserIDs(List<String> userID);
	public List<UserInfo> getByUriName(String uri_name);
	
	public List<UserInfo> getByBrowser(String browser);
	public List<UserInfo> getByBrowserVersion(String browser, String version);
	public List<UserInfo> getByBrowserLan(String browser, String browserLanguage);
	
	public List<UserInfo> getByOsInfo(String os);
	public List<UserInfo> getByUserLan(String os, String userLanguage);
	
	public List<UserInfo> getByPlatform(String platform);
	public List<UserInfo> getBySysLan(String platform, String systemLanguage);
	
	public List<UserInfo> getByCountry(String country);
	public List<UserInfo> getByRegion(String country, String region);
	public List<UserInfo> getByCity(String country, String region, String city);
	
	public List<String> getBrowsers();
	public List<String> getVersionsByBrowser(String browser);
	public List<String> getLansByBrowser(String browser);
	
	public List<String> getOs();
	public List<String> getLansByOs(String os);
	
	public List<String> getPlatforms();
	public List<String> getUserLans();
	public List<String> getLansByPlatform(String platform);
	
	public List<String> getCountrys();
	public List<String> getRegionsByCountry(String country);
	public List<String> getCitysByRegion(String region);
}